drop proc dbo.Reporte106
go

CREATE PROCEDURE dbo.Reporte106
(
  @cabezero Varchar(8000),
  @Resul    Varchar(8000)  OutPut,
  @DataSet  nText,
  @Validar  Int
)

AS
BEGIN
  Set NoCount On
   --------------------------
  --Reporte productos
  --------------------------

  --Variables de Trabajo
  Declare @Registro  Int
  Declare @Valor1    VarChar(8000)
  Declare @Valor2    VarChar(8000)
  Declare @Valor3    VarChar(8000)
  Declare @Desc1     VarChar(8000)
  Declare @Sql       Varchar(8000)
  --Asignar Valores
  Select @Desc1  = ""
  Select @Resul  = ""

  --Obtener los Parametros
  Exec Emulador_SepararCadena 'V1', @Cabezero, '|', @Valor1 Output --N
  Exec Emulador_SepararCadena 'V2', @Cabezero, '|', @Valor2 Output --C
  Exec Emulador_SepararCadena 'V3', @Cabezero, '|', @Valor3 Output --C


--Select * FRom PVF..Cat_Productos
   Select Cod = LTrim(RTrim(IsNull(a.Codigo,''))),                 --Select * From PVF..Existencia
          Descr = LTrim(RTrim(IsNull(a.Descripcion,''))),   --Select * From PVF..entrada_detalles              
          Unidad = LTrim(RTrim(IsNull(c.Descripcion,0))), 
          Existencia = IsNull((select sum(cantidad) from PVF..entradas e, PVF..entrada_detalles ed where  e.idEntrada=ed.IdEntrada and ed.idProducto=a.idProducto ),0)-
						 IsNull((select sum(cantidad) from PVF..salidas s, PVF..salida_detalles sd where  s.idSalida=sd.IdSalida and sd.idProducto=a.idProducto ),0), 
          Stock = LTrim(RTrim(IsNull(a.StockMinimo,0))),
          Precio = LTrim(RTrim(IsNull(a.CostoCompra,0)))
   From PVF..Cat_Productos a (NoLock) 
   Left Join PVF..Cat_Marcas b (NoLock) On b.IdMarca = a.IdMarca 
   Left Join PVF..Cat_Unidades c (NoLock) On c.IdUnidad = a.IdUnidad
   Left Join PVF..Cat_Categorias d (NoLock) On d.IdCategoria = a.IdCategoria
   Where a.IdMarca = @Valor1 And a.IDCategoria = @Valor2



	 Select @Registro = @@RowCount
  

	-- Enviar Resultado
  If @Registro = 0
   Begin
      If @Validar = 0
         Select @Resul = '2R=ERROR|2M=No hay datos en el reporte|'
      If @Validar = 1
         Select @Resul = '2R=ERROR|2M=No hay datos en el reporte|'
   End
  Else
    Begin
	  If @Validar = 0
	     Select @Resul='2R=OK|'
	 If @Validar = 1 
		Select @Resul='2R=OK|'
    End

  Set NoCount OFF
END



